package com.party.admin.web.dto.output.crowdfund;

import com.party.core.model.crowdfund.ProjectAnalyze;
import org.springframework.beans.BeanUtils;

import java.util.Date;
import java.util.Map;


/**
 * 众筹分析数据输出
 * Created by wei.li
 *
 * @date 2017/7/10 0010
 * @time 14:34
 */
public class AnalyzeOutput {

    //众筹编号
    private String id;

    //众筹者编号
    private String authorId;

    //众筹者
    private String authorName;

    //众筹图片
    private String authorLogo;

    //城市
    private String cityName;

    //上级分销
    private String parentName;

    //上级编号
    private String parentId;

    //公司
    private String company;

    //职务
    private String jobTitle;

    //电话
    private String mobile;

    //是否加好友
    private String isFriend;

    // 是否做海报
    private String isPoster;

    // 是否关注
    private String isSubscribe;

    //是否加群
    private String isGroup;

    //众筹状态
    private String isSuccess;

    //创建时间
    private Date createDate;

    //支持者数目
    private Integer favorerNum;

    //实际筹集资金
    private Float actualAmount;

    //标签名称
    private String labels;

    //标签号
    private String labelId;

    //样式
    private String style;

    //最近沟通记录
    private String recentlyRecord;

    //最近跟进时间
    private String recentlyRecordTime;

    //浏览量
    private Integer viewNum;

    //金额map
    private Map<String, Double> moneyMap;

    //众筹停滞天数
    private Integer stagnationDays;

    //二维码连接
    private String qrCodeUrl;

    //查看链接
    private String url;

    //众筹用时
    private String useTime;

    //项目的发布者
    private String publisher;

    //加好友次数
    private Integer friendNum;

    //做海报次数
    private Integer posterNum;

    //入群沟通次数
    private Integer groupNum;

    //电话沟通次数
    private Integer telephoneNum;

    //最近7天数据的总和
    private Float sevenDaysNum;

    // 参赛状态
    private String competitionStatus;

    // 当前已消费金额
    private Double consumedAmount;

    // 累计已消费金额
    private Double allConsumedAmount;

    // 剩余金额
    private Double remindAmount;

    // 阶段活动金额
    private Double gradationTargetAmount;

    //最后支持时间(众筹成功时间)
    private Date lastSupportDate;

    //目标资金
    private Float targetAmount;

    public Float getTargetAmount() {
        return targetAmount;
    }

    public void setTargetAmount(Float targetAmount) {
        this.targetAmount = targetAmount;
    }

    public static AnalyzeOutput transform(ProjectAnalyze projectAnalyze) {
        AnalyzeOutput analyzeOutput = new AnalyzeOutput();
        BeanUtils.copyProperties(projectAnalyze, analyzeOutput);
        return analyzeOutput;
    }

    public Float getSevenDaysNum() {
        return sevenDaysNum;
    }

    public void setSevenDaysNum(Float sevenDaysNum) {
        this.sevenDaysNum = sevenDaysNum;
    }

    public Integer getFriendNum() {
        return friendNum;
    }

    public void setFriendNum(Integer friendNum) {
        this.friendNum = friendNum;
    }

    public Integer getPosterNum() {
        return posterNum;
    }

    public void setPosterNum(Integer posterNum) {
        this.posterNum = posterNum;
    }

    public Integer getGroupNum() {
        return groupNum;
    }

    public void setGroupNum(Integer groupNum) {
        this.groupNum = groupNum;
    }

    public Integer getTelephoneNum() {
        return telephoneNum;
    }

    public void setTelephoneNum(Integer telephoneNum) {
        this.telephoneNum = telephoneNum;
    }

    public Map<String, Double> getMoneyMap() {
        return moneyMap;
    }

    public void setMoneyMap(Map<String, Double> moneyMap) {
        this.moneyMap = moneyMap;
    }

    public String getId() {
        return id;
    }

    public void setId(String id) {
        this.id = id;
    }

    public String getAuthorId() {
        return authorId;
    }

    public void setAuthorId(String authorId) {
        this.authorId = authorId;
    }

    public String getAuthorName() {
        return authorName;
    }

    public void setAuthorName(String authorName) {
        this.authorName = authorName;
    }

    public String getAuthorLogo() {
        return authorLogo;
    }

    public void setAuthorLogo(String authorLogo) {
        this.authorLogo = authorLogo;
    }

    public String getCityName() {
        return cityName;
    }

    public void setCityName(String cityName) {
        this.cityName = cityName;
    }

    public String getParentName() {
        return parentName;
    }

    public void setParentName(String parentName) {
        this.parentName = parentName;
    }

    public String getCompany() {
        return company;
    }

    public void setCompany(String company) {
        this.company = company;
    }

    public String getJobTitle() {
        return jobTitle;
    }

    public void setJobTitle(String jobTitle) {
        this.jobTitle = jobTitle;
    }

    public String getMobile() {
        return mobile;
    }

    public void setMobile(String mobile) {
        this.mobile = mobile;
    }

    public String getIsFriend() {
        return isFriend;
    }

    public void setIsFriend(String isFriend) {
        this.isFriend = isFriend;
    }

    public String getIsGroup() {
        return isGroup;
    }

    public void setIsGroup(String isGroup) {
        this.isGroup = isGroup;
    }

    public String getIsSuccess() {
        return isSuccess;
    }

    public void setIsSuccess(String isSuccess) {
        this.isSuccess = isSuccess;
    }

    public Date getCreateDate() {
        return createDate;
    }

    public void setCreateDate(Date createDate) {
        this.createDate = createDate;
    }

    public Integer getFavorerNum() {
        return favorerNum;
    }

    public void setFavorerNum(Integer favorerNum) {
        this.favorerNum = favorerNum;
    }

    public Float getActualAmount() {
        return actualAmount;
    }

    public void setActualAmount(Float actualAmount) {
        this.actualAmount = actualAmount;
    }

    public String getLabels() {
        return labels;
    }

    public void setLabels(String labels) {
        this.labels = labels;
    }

    public String getStyle() {
        return style;
    }

    public void setStyle(String style) {
        this.style = style;
    }

    public String getLabelId() {
        return labelId;
    }

    public void setLabelId(String labelId) {
        this.labelId = labelId;
    }

    public String getRecentlyRecord() {
        return recentlyRecord;
    }

    public void setRecentlyRecord(String recentlyRecord) {
        this.recentlyRecord = recentlyRecord;
    }

    public String getParentId() {
        return parentId;
    }

    public void setParentId(String parentId) {
        this.parentId = parentId;
    }

    public String getRecentlyRecordTime() {
        return recentlyRecordTime;
    }

    public void setRecentlyRecordTime(String recentlyRecordTime) {
        this.recentlyRecordTime = recentlyRecordTime;
    }

    public Integer getViewNum() {
        return viewNum;
    }

    public void setViewNum(Integer viewNum) {
        this.viewNum = viewNum;
    }

    public Integer getStagnationDays() {
        return stagnationDays;
    }

    public void setStagnationDays(Integer stagnationDays) {
        this.stagnationDays = stagnationDays;
    }

    public String getQrCodeUrl() {
        return qrCodeUrl;
    }

    public void setQrCodeUrl(String qrCodeUrl) {
        this.qrCodeUrl = qrCodeUrl;
    }

    public String getUrl() {
        return url;
    }

    public void setUrl(String url) {
        this.url = url;
    }

    public String getUseTime() {
        return useTime;
    }

    public void setUseTime(String useTime) {
        this.useTime = useTime;
    }

    public String getPublisher() {
        return publisher;
    }

    public void setPublisher(String publisher) {
        this.publisher = publisher;
    }

    public String getIsPoster() {
        return isPoster;
    }

    public void setIsPoster(String isPoster) {
        this.isPoster = isPoster;
    }

    public String getIsSubscribe() {
        return isSubscribe;
    }

    public void setIsSubscribe(String isSubscribe) {
        this.isSubscribe = isSubscribe;
    }

    public String getCompetitionStatus() {
        return competitionStatus;
    }

    public void setCompetitionStatus(String competitionStatus) {
        this.competitionStatus = competitionStatus;
    }

    public Double getConsumedAmount() {
        return consumedAmount;
    }

    public void setConsumedAmount(Double consumedAmount) {
        this.consumedAmount = consumedAmount;
    }

    public Double getRemindAmount() {
        return remindAmount;
    }

    public void setRemindAmount(Double remindAmount) {
        this.remindAmount = remindAmount;
    }

    public Double getAllConsumedAmount() {
        return allConsumedAmount;
    }

    public void setAllConsumedAmount(Double allConsumedAmount) {
        this.allConsumedAmount = allConsumedAmount;
    }

    public Double getGradationTargetAmount() {
        return gradationTargetAmount;
    }

    public void setGradationTargetAmount(Double gradationTargetAmount) {
        this.gradationTargetAmount = gradationTargetAmount;
    }

    public Date getLastSupportDate() {
        return lastSupportDate;
    }

    public void setLastSupportDate(Date lastSupportDate) {
        this.lastSupportDate = lastSupportDate;
    }
}
